#ifndef _PARSER__H_
#define _PARSER__H_

#include <string>

namespace node{
	class Node;
}

namespace parser{

class Parser{

public:
	Parser();
	~Parser();
	bool Parse(const std::string& buffer);
	node::Node * Root() { return root_; };
private:
	//std::string::const_iterator FindSmallestOperator(std::string::const_iterator start, std::string::const_iterator end);
	node::Node * root_;
	node::Node* Process(std::string::const_iterator start, std::string::const_iterator end, node::Node* parent);

};

}

#endif /* _PARSER__H_ */
